Median Analyst ConsensusThe Median Analyst Consensus Indicator provides an unbiased, easy-to-interpret view of market sentiment by leveraging TradingView's comprehensive financial data library. This tool displays the median 12-month price target and the percentage difference from the current price directly on your charts.
Key Features
1. Accurate Market Sentiment: By consolidating analyst ratings and price targets from multiple reputable sources like Bloomberg, Refinitiv (formerly Thomson Reuters), S&P Capital IQ, and Morningstar, this indicator displays the median analyst consensus. Using the median ensures outlier ratings don't skew the overall sentiment, providing a more robust representation.
2. Simplicity at a Glance: View the median 12-month price target and percentage difference from the current price directly on your chart. No need to juggle multiple reports - key insights are surfaced within your normal trading workflow.
3. Data-Driven Transparency: If no analyst data is available for a particular asset, the indicator will not display, ensuring you only see reliable information. The number of contributing analysts is also shown for context.
Why the Median?
The median is favored over the mean to minimize the impact of outlier ratings that could distort the consensus view. By taking the middle value across all analyst projections, the median provides a more stable, outlier-resistant measure of market sentiment.
Powered by TradingView Data
This indicator taps into TradingView's financial data library, which aggregates analyst ratings, estimates, and recommendations from leading institutional data providers. TradingView sources this data from firms like FactSet, Bloomberg, Refinitiv, S&P Capital IQ, and Morningstar, ensuring a comprehensive and trusted view of analyst sentiment.
The library provides variables like:
syminfo.recommendations_buy
syminfo.recommendations_sell
syminfo.target_price_median
syminfo.recommendations_buy_strong
syminfo.recommendations_sell_strong
The indicator calculates and displays the median of these analyst inputs.
Usage
The indicator displays:
The median 12-month price target across analysts
The percentage difference between the price target and current price
The number of contributing analyst estimates
If no analyst data is available, the indicator does not display, ensuring full transparency.
The Median Analyst Consensus Indicator provides an unbiased, easy-to-interpret view of market sentiment by leveraging TradingView's comprehensive financial data library. This tool offers a new perspective on potential trade opportunities directly on your charts.
Disclaimer
While the data is sourced from reputable providers, analyst forecasts should not be construed as investment recommendations. This indicator aims to synthesize market opinions, but investment decisions are solely your responsibility. As with any analytical tool, you should conduct your own research and risk assessments before executing any trades.
Buscar en scripts para "12月1æ—¥ç»™æµ·æ°æ‰«ç 手ç»è´¹"
Guppy Wave [UkutaLabs]█ OVERVIEW
The Guppy Wave Indicator is a collection of Moving Averages that provide insight on current market strength. This is done by plotting a series of 12 Moving Averages and analysing where each one is positioned relative to the others.
In doing this, this script is able to identify short-term moves and give an idea of the current strength and direction of the market.
The aim of this script is to simplify the trading experience of users by automatically displaying a series of useful Moving Averages to provide insight into short-term market strength.
█ USAGE
The Guppy Wave is generated using a series of 12 total Moving Averages composed of 6 Small-Period Moving Averages and 6 Large Period Moving Averages. By measuring the position of each moving average relative to the others, this script provides unique insight into the current strength of the market.
Rather than simply plotting 12 Moving Averages, a color gradient is instead drawn between the Moving Averages to make it easier to visualise the distribution of the Guppy Wave. The color of this gradient changes depending on whether the Small-Period Averages are above or below the Large-Period Averages, allowing traders to see current short-term market strength at a glance.
When the gradient fans out, this indicates a rapid short-term move. When the gradient is thin, this indicates that there is no dominant power in the market.
█ SETTINGS
• Moving Average Type: Determines the type of Moving Average that get plotted (EMA, SMA, WMA, VWMA, HMA, RMA)
• Moving Average Source: Determines the source price used to calculate Moving Averages (open, high, low, close, hl2, hlc3, ohlc4, hlcc4)
• Bearish Color: Determines the color of the gradient when Small-Period MAs are above Large-Period MAs.
• Bullish Color: Determines the color of the gradient when Small-Period MAs are below Large-Period MAs.
MACD by Take and TradeImproved version of MACD with asymmetrical BUY and SELL approaches.
This indicator is based on popular MACD one, but with some "tricks" designed to make it more applicable to the rapidly changing crypto market.
Key benefits:
Dynamic auto-adjusted threshold to filter out weak signals
Highlighted BUY/SELL signals with divergence (if a signal is accompanied by divergence, for example, price makes a new high while macd has a second high below the first, this signal is considered stronger and will be highlighted in a darker color)
Boost BUY signals on very slow market in accumulation phase
Not symmetric! It uses 2 different signal lines, which allows to obtain SELL signals earlier comparing to classic MACD approach
Classic concept of MACD
Classic MACD, in its simplest case, consists of two lines - macd line and signal line. Macd line is a difference between so-called "fast" and "slow" EMA lines (there are just a Exponential Moving Average lines with different windows: "12" for fast and "26" for slow). Signal line is just a smoothed "macd" line.
When macd line crosses signal line from bottom to up and intersection point < 0, this is "BUY" signal. And vise versa, when macd line crosses signal line from top to bottom, and intersection point > 0, this is "SELL" signal.
Parameters used in default configuration of classic MACD indicator:
Fast line: EMA-12
Slow line: EMA-26
Signal line: EMA-9
Problem of classic concept
Classic MACD indicator usually gives not bad "BUY" signals, especially if using them not for operational trading but for "investment" strategy. But "SELL" signalls usually generated too late. Simply because the market tends to fall much faster than it rises.
Possible solution (the main feature of our version of MACD)
To make indicator react faster on SELL condition, while still keeping it reliable for BUY signals, we decided to use two signal lines . Faster than default signal line (with window=6) for BUY signals and much faster than default (with window=2) for SELL signals.
This approach allowed us to receive sell signals earlier and exit deals on more favorable prices. Trade off of this change - is the number of SELL signals - there were more of them. However, this does not matter, since we receive the very first sell signal with a "very fast signal line" much earlier than with classic indicator settings.
Parameters we use in our improved MACD indicator:
Fast line: EMA-12
Slow line: EMA-24
Faster signal line: EMA-6
Much faster signal line: EMA-2
Removing noise (false triggerings)
Other drawback of classic MACD - it generates a lot of "weak" (false) signals. This signals are generated when macd crosses signal line much close to zero-line. And usually there are a lot of such intersections.
To remove this kind of noise, we added a trigger threshold, which by default is equal to 2.5% of the average asset price over a long period of time. Due to the link to the average price, this threshold automatically takes a specific value for each trading pair. Threshold 2.5% works perfect for all trading pairs for 1D timeframe. For other timeframes user can (and maybe will want) change it.
Boost weak BUY signals in a prolonged bear market
Signals on bearish stage are usually very weak, because there is no volatility, and no price impulse. And such signals will be filtered out as "noise" - see above. But this time is perfect time to buy! Therefore, we further boost the buy signals in a prolonged bear market so that they can pass through the filter and appear on the chart. Bearish period is the best time to invest!
Developed by Take and Trade. Enjoy using it!
Seek liquidityGuided by ICT tutoring, I create this versatile "Seek liquidity" indicator.
This indicator shows an easy way to view the Liquidity that has been Created - Eliminated - and what liquidity is left to eliminate.
Liquidity levels appear after the sessions are over, and the lines get stuck on the candle that eliminates them.
Timing session =
//---Asian
- 18:00-00:00
//---London
- 00:00-02:00
- 02:00-05:00
- 00:00-06:00
//---New York
- 06:00-12:00
- 09.30-12.00
//---Lunch
- 12:00-13:30
//---PM
- 1.30pm - 4.00pm
- 12:00-18:00
The user has the possibility to:
- Choose whether or not to view sessions
- Choose to show levels from previous sessions
- Choose to show today's session levels
- Choose whether to view the boxes
- Choose to view the division is open daily
The indicator should be used as ICT shows in its concepts, the indicator takes into consideration both the previous and today's Liquidity, and the session levels can be used for a reversal as in the example below:
Moving Average TransformThe MAT is essentially a different kind of smoothed moving average. It is made to filter out data sets that deviate from the specified absolute threshold and the result becomes a smoothing function. The goal here, inspired by time series analysis within mathematical study, is to eliminate data anomalies and generate a more accurate trendline.
Functionality:
This script calculates a filtered average by:
Determining the mean of the entire data series.
Initializing sum and count variables.
Iterating through the data to filter values that deviate from the mean beyond the threshold.
Calculating a filtered mean based on the filtered data.
The filtered mean is then passed through a moving average function, where various types of moving averages like SMA, EMA, DEMA, TEMA, and ALMA can be applied. Some popular averages such as the HMA were omitted due to their heavy dependency on weighing specific data points.
Some information from "Time Series Analysis" regarding deviations
Definition of Anomaly: An anomaly or outlier is a data point that differs significantly from other observations in the dataset. It can be caused by various reasons such as measurement errors, data entry errors, or genuine extreme observations.
Impact on Mean: The mean (or average) of a dataset is calculated by summing all the values and dividing by the number of values. Since the mean is sensitive to extreme values, even a single outlier can significantly skew the mean.
Example: Consider a simple time series dataset: . The value "150" is an anomaly in this context. If we calculate the mean with this outlier, it is (10 + 12 + 11 + 9 + 150) / 5 = 38.4. However, if we exclude the outlier, the mean becomes (10 + 12 + 11 + 9) / 4 = 10.5. The presence of the outlier has substantially increased the mean.
Accuracy and Representativeness: While the mean calculated without outliers might be more "accurate" in the sense of being more representative of the central tendency of the bulk of the data, it's essential to note that anomalies might convey important information about the system being studied. Blindly removing or ignoring them might lead to overlooking significant events or phenomena.
Approaches to Handle Anomalies?
Detection and Removal
Robust Statistics
Transformation
K's Pivot PointsPivot points are a popular technical analysis tool used by traders to identify potential levels of support and resistance in a given timeframe. Pivot points are derived from previous price action and are used to estimate potential price levels where an asset may experience a reversal, breakout, or significant price movement.
The calculation of pivot points involves a simple formula that takes into account the high, low, and close prices from the previous trading session or a specific period. The most commonly used pivot point calculation method is the "Standard" or "Classic" method. Here's the formula:
Pivot Point (P) = (High + Low + Close) / 3
In addition to the pivot point itself, several support and resistance levels are calculated based on the pivot point value.
K's Pivot Points try to enhance them by incorporating multiple elements and by applying a re-integration strategy to validate two events:
* Found_Support: This event represents a basing market that is bound to recover or at least shape a bounce.
* Found_Resistance: This event represents a toppish market that is bound to consolidate or at least shape a pause.
K's Pivot Points are calculated following these steps:
1. Calculate the highest of highs for the previous 24 periods (preferably hours).
2. Calculate the lowest of lows for the previous 24 periods (preferably hours).
3. Calculate a 24-period (preferably hours) moving average of the close price.
4. Calculate K's Pivot Point as the average between the three previous step.
5. To find the support, use this formula: Support = (Lowest K's pivot point of the last 12 periods * 2) - Step 1
6. To find the resistance, use this formula: Resistance = (Highest K's pivot point of the last 12 periods * 2) - Step 2
The re-integration strategy to find support and resistance areas is as follows:
* A support has been found if the market breaks the support and shapes a close above it afterwards.
* A resistance has been found if the market surpasses the resistance and shapes a close below it afterwards.
The lookback period (whether 24 and 12) can be modified but the default versions work well.
DB Support Resistance LevelsDB Support Resistance Levels
This indicator plots historic lines for high, low and close prices. The settings allow up to 3 periods to be configured based on the current timeframe. Users can toggle the display of high, low or close values for each period along with customizing the period line color. The indicator does not use the security function. Instead, it's designed to use a period multiplier. Each period allows the user to configure a lookback length and multiplier.
For Example on Weekly
A period lookback of 12 with a multiplier value of 12 on weekly would produce historic high, low and close lines for the last 12 weeks.
A period lookback of 10 with a multiplier value of 4 on weekly would produce historic high, low and close lines for the last 4, 4-week months.
A period lookback of 8 with a multiplier value of 13 on weekly would produce historic high, low and close lines for the last 8, 13-week quarters.
Why not use security with higher timeframe?
The goal was to have the lines start at the precise high, low and close points for the current chart timeframe to allow the user to visually trace the start of the line.
What else does this do?
This indicator also plots the pivot points using TradingView's built-in "pivot_point_levels" feature.
How should I use this indicator?
Traders may use this indicator to gain a visual reference of support and resistance levels from higher periods of time. You can then compare these historic levels against the pivot point levels. In most cases, historic high, low and close levels act as support and resistance levels which can be helpful for judging future market pivot points.
Additional Notes
This indicator does increase the max total lines allowed which may impact performance depending on device specs. No alerts or signals for now. Perhaps coming soon...
ZigCycleBarCount [MsF]Japanese below / 日本語説明は英文の後にあります。
Based on "ZigZag++" indicator by DevLucem. Thanks for the great indicator.
-------------------------
This indicator that displays the candle count (bar count) at the peaks of Zigzag .
It also displays the price of the peaks.
You can easily count candles (bars) from peak to peak. Helpful for candles (bars) in cycle theory.
This logic of the indicator is based from the mt4 zigzag indicator .
Parameter:
Depth = depth (price range)
Backstep = Period
Deviation = Percentage of how much the price has wrapped around the previous line.
Example:
Depth = 12
Backstep = 3
Deviation = 5
In this case, the price range is updated by 12 pips or more (Depth), and after 3 or more candlesticks line up (Backstep), if the price deviates from the previous line by 5% or more (Deviation), a peak is added.
-------------------------
Zigzagの頂点にローソクカウント(バーカウント)を表示するインジケータです。
頂点の価格も表示します。
頂点から頂点までのローソク(バー)を容易にカウントすることができます。
サイクル理論のローソク(バー)に役立ちます。
Zigzagロジック自体はMT4のzigzagインジケータを流用しています。
<パラメータ>
Depth=深さ(値幅)
Backstep=期間
Deviation=価格がどれだけ直前のラインの折り返したかの割合
例:
Depth=12
Backstep=3
Deviation=5
この場合、値幅を12pips以上更新し(Depth)、ローソク足が3本以上並んだ後(Backstep)、価格が直前のラインの5%以上折り返せば(Deviation)、頂点を付けます。
<表示オプション>
Label_Style = "TEXT"…テキスト表示、"BALLOON"…吹き出し表示
MAGIC MACDMAGIC MACD ( MACD Indicator with Trend Filter and EMA Crossover confirmation and Momentum). This MACD uses Default Trading view MACD
from Technical indicators library and adding a second MACD along with 3 EMA's to detect Trend and confirm MACD Signal.
Eliminates usage of 3different indicators (Default MACD , MACD-2,EMA5, EMA20, EMA50)
Basic IDEA.
Idea is to filter Histogram when price is above or below 50EMA. Similar to QQE -mod oscillator but Has a EMA Filter
1.Take DEFAULT MACD crossover signals with lower period
2.check with a Higher MACD Histogram.
3.Enter upon EMA crossover signal and Histogram confirmation.
Histogram changes to GRAY when price is below EMA 50 or above EMA 50 (Follows Trend)
4.Exit on next Default MACD crossover signal.
Overview :
Moving Average Convergence Divergence Indicator Popularly Known as MACD is widely used. MACD Usually generates a lots of False signals
and noise in Lower Time Frames, making it difficult to enter a trade in sideways market. Divergence is a major issue along with sideways
movement and tangling of MACD and Signal Lines. There is no way to confirm a Default MACD signal, except to switch time frames and
verify.
Magic MACD Can be used to in combination with other signals.
This MACD uses two MACD Signals to verify the signal given by Default MACD . The Histogram Plot shown is of a higher period
MACD (close,5,50,30) values. When a signal is generated on a lower MACD it is verified by the histogram with higher time period.
Technicals Used:
1. Lower MACD-1 values 12,26 and signal-9 (crossover Signals)
2. Higher MACD-2 values 5,50 and signal-30 (Histogram)
3. EMA 50 (Histogram Filter to allow only if price above or below Ema 50)
4. EMA 5 and EMA 20 for crossover confirmation of trend
What's is in this Indicator?
1.Histogram-(higher period 5,50 and 30signal)
2. MACD crossover Signals-(lower period Default MACD setting)
3.Signal Lines-( EMA 5 & 20)
Implemented & Removed in this Indicator
1. Default MACD and Signal Lines are removed completely
2. MACD crossover are taken on lower periods and plotted as signals(Blue Triangle or Red Triangle)
3. Histogram is plotted from a higher Period providing a clear picture with Higher Time period
4. EMA 5 and EMA 20 are used for MACD signal confirmation
How to use?
Up Signal
1. MACD Default (12,26,30) up signals are shown in Blue
2. Wait till the Histogram changes Blue
3. Look for EMA signals crossover near by
Down Signal
1. MACD Default (12,26,30) up signals are shown in Red
2. Wait till the Histogram changes Red
3. Look for EMA signals crossover near by
Do's
Consider only opposite color as signals
1. Red Triangle on Blue Histogram(likely to move down direction)
2. Blue Triangle on Red Histogram (Likely to move up direction)
Don'ts
1.Ignore Blue Signal on Blue Histogram (pull back signals can be used to enter trade if you miss first crossover)
2.Ignore Red Signal on Red Histogram(pull back signals can be used to enter trade if you miss first crossover)
3.Ignore Up and Down signals till Gray or Blacked out area is finished in Histogram
Tips:
1. EMA plot also shows pull back areas along with signals
2.side by side opposite signals shows sides ways movement
3. EMA 5,20 is plotted on MACD Histogram for Additional Benefit
Thanks & Credits
To Tradingview Team for allowing me to use their default MACD version and coding it in to a MAGIC MACD by adding a few lines of code that
makes it more enhanced.
Warning...!
This is purely for Educational purpose only. Not to be used as a stand alone indicator. Usage is at your own Risk. Please get familiar with its working before implementing. Its not a Financial Advice or Suggestion . Any losses or gains is at your own risk.
VIX/VOLI RatioWe all know TVC:VIX . But what is NASDAQ:VOLI ?
VOLI is basically a measure of expectations for market volatility over the next 30 calendar days as expressed by ATM options on AMEX:SPY
nations.com
So why is this VIX /VOLI ratio important? It's because it can give an important measure of options skew.
It can show the premium of OTM options (particularly puts) over ATM.
It can show if traders are interested in owning wings in AMEX:SPY
Not a lot of info can be taken by just looking at the ratio as a standalone nominal value. Plus, the ratio is noisy and spotting a clear trend can be hard.
For these reasons, I decided to code this indicator (which is best used on the Daily chart).
I added two EMA clouds, 7 and 12 and color code them with respect to their positions. If 7 > 12, cloud will be green. If 7 < 12, cloud will be red. This will give a better view of how the ratio is trending.
I then added a lookback period that can be changed from the indicator's setting (along with the fast and slow EMAs).
The lookback period will be used to get the following parameters:
- highest value
- lowest value
- 10th, 30th, 50th, 70th and 90th percentiles
- Percentile Rank
- Average, Median and Mode
Having all these values in a table will give a better idea of where the current ratio sits.
Expected SPX Movement by timeframeTHIS INDICATOR ONLY WORKS FOR SP:SPX CHART
This code will help you to measure the expected movement of SP:SPX in a previously selected timeframe based on the current value of VIX index
E.g. if the current value of VIX is 30 we calculate first the expected move of the next 12 months.
If you selected the Daily timeframe it will calculate the expected move of SPX in the next Day by dividing the current VIX Value by the squared root of 252
(The 252 value corresponds to the approximate amount of trading sessions of the year)
If you selected the Weekly timeframe it will calculate the expected move of SPX in the next Week by dividing the current VIX Value by the squared root of 52
(The 52 value corresponds to the amount of weeks of the year)
If you selected the Monthly timeframe it will calculate the expected move of SPX in the next Week by dividing the current VIX Value by the squared root of 12
(The 12 value corresponds to the amount of months of the year)
For lower timeframes you have to calculate the amount of ticks in each trading session of the year in order to get that specific range
Once you have that calculation it it'll provide the range expressed as percentage of the expected move for the following period.
This script will plot that information in a range of 2 lines which represents the expected move of the SPX for the next period
The red flag indicator tells if that period closed between the 2 previous values marked by the range
True Average Period Traded RangeTrue Average Period Trading Range (TAPTR)
The J. Welles Wilder Average True Range calculation includes the ability to calculate in gaps into the equation.
It is in my opinion that gaps are untraded range values until the prices on their own come back and close the gaps.
The TAPTR calculation is simple, it is the average for a set period of time of the HIGH - LOW.
The ATR average calculation is automatically set based on the timeframe period you are looking at.
12 Months (1 year) = 10 (1 decade)
Months = 12 (1 year)
Weeks = 12 (1 business quarter)
Days = 21 (1 trading month)
4 Hour = 9 (5 trading days)
1 Hour = 33 (5 trading days)
45 minutes = 9 (1 trading day)
30 minutes = 14 (1 trading day)
15 minutes = 28 (1 trading day)
10 minutes = 42 (1 trading day)
5 minutes = 85 (1 trading day)
1 minute = 420 (1 trading day)
default value = 21 (if using a timeframe not described above)
The "master trend" as being a 21 SMA.
The colored columns represent the actual range value for that time period.
Description of values from left to right.
1) Actual Trade Range Value for the time period you are viewing
2) % of price (in decimal, you need multiply by 100 to get the true percent)
3) Average Traded Range
4) % of price
5) .618 of Average Traded Range
6) % of price
7) Mean of #3 and #5
8) % of price
The % of price is displayed in its calculated form. You need to multiple the value by 100 if you want the actual percent.
Example: Displayed Value: 0.0246 = 2.46%
Why calculated form only? If the ranges are .72 and the % of price is 2.32 the indicator looks all jacked up like a redneck's pick-up.
However, if it is .0232, everything is to scale.
Why is % of price helpful?
If you are trading and are aware that average period traded range is 5%, you now have an idea of an average return if you could catch from low to high (or short high to low).
Bar Colors
RED is greater than 4.2x TAPTR
ORANGE is greater than 2.618x TAPTR but less than RED
YELLOW is greater than 1.618x TAPTR but less than ORANGE
GREEN is greater than .618x TAPTR but less than YELLOW
BLUE is less than GREEN
The colors of the bars represent how far from the Master Trend (21 SMA) the close is.
This is determined by taking the difference between the close and the 21 SMA and dividing by the current TAPTR.
EXAMPLE:
IF you have a RED bar, the close is greater than 4.2 TAPTRs away from the 21 SMA. This means that either prices will stall and remain flat until
the SMA comes to the prices or turn and return to the SMA.
If prices are greater than 4.2 TAPTR, that also represents that it is greater than 4 or more time periods from the mean if the return traded within the averages.
Annualizer: New Indicator + CPI AnalysisThis indicator calculates the annualized month-over-month percent change of a cumulative index and plots it alongside the year-over-year percent change for comparison. It was developed for the purpose of analyzing the inflation rate of CPI indexes such as “CPIAUCSL.” It can also be used on M2 money supply and pretty much any cumulative index. It will not produce useful outputs on percent change indexes such as “USCCPI” because it performs percent change calculations which are already applied to those indexes.
This indicator takes data from the monthly chart, regardless of how often the data is reported or what the timeframe of the current chart is. Doing so allows it to work on all timeframes while displaying only monthly data outputs but limits it from recognizing data which might be released more often than once per month. This limitation should be suitable for macroeconomic data such as CPI and M2 money supply which are usually analyzed on a month-to-month basis.
If the ticker symbol is "M2SL" which is M2 money supply, annualized percent change is plotted in green, otherwise, it’s plotted in blue.
CPI analysis:
Upon deploying this indicator, it was observed that the year-over-year (YoY) inflation rate (red) is a lagging indicator of the annualized month-over-month (MoM) inflation rate (blue) and that it appears to almost be a moving average of it. A moving average plot was temporarily added for comparison to the YoY and it was found that the difference between the two plots is negligible and that for the purposes of high-level analysis of inflation, the two plots can be considered to be no different from one another. Below is a screenshot for demonstration. Notice how closely the white 12-month SMA of the annualized rate tracks the YoY rate.
For other indexes which may see more dramatic changes month-over-month such as M2 money supply, the difference between the two signals becomes more pronounced but they are still comparable. The conclusion is that the YoY inflation rate can be considered to be a 12-month simple moving average of the annualized MoM rate.
12-month SMA:
It’s easy to see and stands to reason that if the annualized MoM inflation rate (blue) remains where it has been for the previous 2 months YoY inflation (red) will begin falling and eventually reach similar levels due to its moving-average-like behavior. This will bring us back to the 2% YoY inflation target of the Fed within no more than 10 months. There may be a perception that deflation is required to bring prices back down to the purple channel of CPI to make prices pre-Covid "normal" again. We were headed in that direction in July with a slightly negative MoM CPI read. What may have freaked investors out about the August report (most recent as of this writing) is that the inflation rate, rather than continuing into negative deflationary territory, has bounced back into positive territory.
M2 money supply isn’t an integral part of this analysis, but it helps demonstrate the indicator. It can be observed that CPI growth lags M2 money supply growth which seems to have leveled off.
I’m not a macroeconomist so I’m probably missing some things, but I do not see a lagging indicator such as YoY inflation being at 8.25% while annualized MoM inflation is at 1.42% as something to freak out about as investors have seemingly done. I’m a stock market bear as of last week, but I do not feel this CPI analysis strongly supports a bearish thesis, nor is it bullish. Next month’s annualized MoM % change may begin to sway me one way or the other depending on what this chart looks like when it’s updated.
GT 5.1 Strategy═════════════════════════════════════════════════════════════════════════
█ OVERVIEW
People often look an indicator in their technical analysis to enter a position. We may also need to look at the signals of one or more indicators to verify the signals given by some indicators. In this context, I developed a strategy to test whether it really works by choosing some of the indicators that capture trend changes with the same characteristics. Also, since the subject is to catch the trend change, I thought it would be right to include an indicator using the heikin ashi logic. By averaging and smoothing the market noise, Heiken Ashi makes it easier to detect the direction of the trend helps to see possible reversal points on the chart. However, it should be noted that Heiken Ashi is a lagging indicator.
I picked 5 different indicators (but their purpose are similar) and combined them to produce buy and sell signals based on your choice(not repaint). First of all let's get some information about our indicators. So you will understand me why i picked these indicators and what is the meaning of their signals.
1 — Coral Trend Indicator by LazyBear
Coral Trend Indicator is a linear combination of moving averages, all obtained by a triple or higher order exponential smoothing. The indicator comes with a trend indication which is based on the normalized slope of the plot. the usage of this indicator is simple. When the color of the line is green that means the market is in uptrend. But when the color is red that means the market is in downtrend.
As you see the original indicator it is simple to find is it in uptrend or downtrend.
So i added a code to find when the color of the line change. When it turns green to red my script giving sell signals, when it turns red to green it gives buy signals.
I hide the candles to show you more clearly what is happening when you choose only Coral Strategy. But sometimes it is not enough only using itself. Even if green dots turn to red it continues in uptrend. So we need a to look another indicator to approve our signal.
2 — SSL channel by ErwinBeckers
Known as the SSL , the Semaphore Signal Level channel is an indicator that combines moving averages to provide you with a clear visual signal of price movement dynamics. In short, it's designed to show you when a price trend is forming. This indicator creates a band by calculating the high and low values according to the determined period. Simply if you decide 10 as period, it calculates a 10-period moving average on the latest 10 highs. Calculate a 10-period moving average on the latest 10 lows. If the price falls below the low band, the downtrend begins, if the price closes above the high band, the uptrend begins. Lets look the original form of indicator and learn how it using.
If the red line is below and the green band is above, it means that we are in uptrend, and if it is on the opposite side, it means that we are in downtrend. Therefore, it would be logical to enter a position where the trend has changed. So i added a code to find when the crossover has occured.
As you see in my strategy, it gives you signals when the trend has changed. But sometimes it is not enough only using this indicator itself. So lets look 2 indicator together in one chart.
Look circle SSL is saying it is in downtrend but Coral is saying it has entered in uptrend. if we just look to coral signal it can misleads us. So it can be better to look another indicator for validating our signals.
3 — Heikin Ashi RSI Oscillator by JayRogers
The Heikin-Ashi technique is used by technical traders to identify a given trend more easily. Heikin-Ashi has a smoother look because it is essentially taking an average of the movement. There is a tendency with Heikin-Ashi for the candles to stay red during a downtrend and green during an uptrend, whereas normal candlesticks alternate color even if the price is moving dominantly in one direction. This indicator actually recalculates the RSI indicator with the logic of heikin ashi. Due to smoothing, the bars are formed with a slight lag, reflecting the trend rather than the exact price movement. So lets look the original version to understand more clearly. If red bars turn to green bars it means uptrend may begin, if green bars turn to red it means downtrend may begin.
As you see HARSI giving lots of signal some of them is really good but some of them are not very well. Because it gives so much signals Now i will change time period and lets look same chart again.
Now results are better because of heikin ashi's logic. it is not suitable for day traders, it gives more accurate result when using the time period is longer. But it can be useful to use this indicator in short time periods using with other indicators. So you may catch the trend changes more accurately.
4 — MACD DEMA by ToFFF
This indicator uses a double EMA and MACD algorithm to analyze the direction of the trend. Though it might seem a tough task to manage the trades with the help of MACD DEMA once you know how the proper way to interpret the signal lines, it will be an easy task.
This indicator also smoothens the signal lines with the time series algorithm which eventually makes the higher time frame important. So, expecting better results in the lower time frame can result in big losses as the data reading from the MACD DEMA will not be accurate. In order to understand the function of this indicator, you have to know the functions of the EMA also.
The exponential moving average tends to give more priority to the recent price changes. So, expecting better results when the volatility is very high is a very risky approach to trade the market. Moreover, the MACD has some lagging issues compared to the EMA, so it is super important to use a trading method that focuses on the higher time frame only. What does MACD 12 26 Close 9 mean? When the DEMA-9 crosses above the MACD(12,26), this is considered a bearish signal. It means the trend in the stock – its magnitude and/or momentum – is starting to shift course. When the MACD(12,26) crosses above the DEMA-9, this is considered a bullish signal. Lets see this indicator on Chart.
When the blue line crossover red line it is good time to buy. As you see from the chart i put arrows where the crossover are appeared.
When the red line crossover blue line it is good time to sell or exit from position.
5 — WaveTrend Oscillator by LazyBear
This is a technical indicator that creates high and low bands between two values. It then creates a trend indicator that draws waves with highs and lows within these boundaries. WaveTrend is a widely used indicator for finding direction of an asset.
Calculation period: number of candles used to calculate WaveTrend, defaults to 10. Averaging period: number of candles used to average WaveTrend, defaults to 21.
As you see in chart when the lines crossover occured my strategy gives buy or sell signals.
═════════════════════════════════════════════════════════════════════════
█ HOW TO USE
I hope you understand how the indicators I mentioned above work and what they are used for. Now, I will explain in detail how to use the strategy I have created.
When you enter the settings section, you will see 5 types of indicators. If you want to use the signals of the indicators, simply tick the box next to the indicators. Also, under each option there is an area where you can set the "lookback". This setting is a field that will make the signals overlap when you select more than one option. If you are going to trade with only one option, you should make sure that this field is 0. Otherwise, it may continue to generate as many signals as you choose.
Lets see in chart for easy understanding.
As you see chart, if i chose only HARSI with lookback 0 (HARSI and CORAL should be 1 minumum because of algorithm-we looking 1 bar before, others 0 because we are looking crossovers), it will give signals only when harsı bar's color changed. But when i changed Lookback as 7 it will be like this in chart.
Now i will choose 2 indicator with settings of their lookback 0.
As you see it will give signals when both of them occurs same time. But HARSI is an indicator giving very early signal so we can enter position 5-6 bars after the first bar color change. So i will change HARSI Lookback settings as 7. Lets look what happens when we use lookback option.
So it wil be useful to change lookback settings to find best signals in each time period and in each symbol. But it shouldnt be too high. Because you can be late to catch trend's starting.
this is an image of MACD and WAVE trend used and lookback option are both 6.
Now lets see an example with 3 options are chosen with lookback option 11-1-5
Now lets talk about indicators settings. After strategy options you will see each indicators settings, you can change their settings as you desired. So each indicators signal will be changed according to your adjustment.
I left strategy options with default settings. You can change it manually as if you want.
═════════════════════════════════════════════════════════════════════════
█ LIMITATIONS: Don't rely on non-standard charts results. For example Heikin Ashi is a technical analysis method used with the traditional candlestick chart.Heikin Ashi vs. Candlestick Chart: The decisive visual difference between Heikin Ashi and the traditional chart is that Heikin Ashi flattens the traditional candlestick chart using a modified formula.
The primary advantage of Heikin Ashi is that it makes the chart more reader-friendly and helps users identify and analyze trends .
Because Heikin Ashi provides averaged price information rather than real-time price and reacts slowly to volatility — not suitable for scalpers and high-frequency traders. I added HARSI indicator as a supportive signal because it is useful with using CORAL and SSL channel indicators. If you change your candle types to Heikin Ashi , your profit will change in good way but dont rely on it.
═════════════════════════════════════════════════════════════════════════
█ THANKS:
Special thanks to authors of the scripts that i used.
@LazyBear and @ErwinBeckers and @JayRogers and @ToFFF
═════════════════════════════════════════════════════════════════════════
█ DISCLAIMER
Any trade decisions you make are entirely your own responsibility.
STD/C-Filtered, N-Order Power-of-Cosine FIR Filter [Loxx]STD/C-Filtered, N-Order Power-of-Cosine FIR Filter is a Discrete-Time, FIR Digital Filter that uses Power-of-Cosine Family of FIR filters. This is an N-order algorithm that turns the following indicator from a static max 16 orders to a N orders, but limited to 50 in code. You can change the top end value if you with to higher orders than 50, but the signal is likely too noisy at that level. This indicator also includes a clutter and standard deviation filter.
See the static order version of this indicator here:
STD/C-Filtered, Power-of-Cosine FIR Filter
Amplitudes for STD/C-Filtered, N-Order Power-of-Cosine FIR Filter:
What are FIR Filters?
In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.
What is Power-of-Sine Digital FIR Filter?
Also called Cos^alpha Window Family. In this family of windows, changing the value of the parameter alpha generates different windows.
f(n) = math.cos(alpha) * (math.pi * n / N) , 0 ≤ |n| ≤ N/2
where alpha takes on integer values and N is a even number
General expanded form:
alpha0 - alpha1 * math.cos(2 * math.pi * n / N)
+ alpha2 * math.cos(4 * math.pi * n / N)
- alpha3 * math.cos(4 * math.pi * n / N)
+ alpha4 * math.cos(6 * math.pi * n / N)
- ...
Special Cases for alpha:
alpha = 0: Rectangular window, this is also just the SMA (not included here)
alpha = 1: MLT sine window (not included here)
alpha = 2: Hann window (raised cosine = cos^2)
alpha = 4: Alternative Blackman (maximized roll-off rate)
This indicator contains a binomial expansion algorithm to handle N orders of a cosine power series. You can read about how this is done here: The Binomial Theorem
What is Pascal's Triangle and how was it used here?
In mathematics, Pascal's triangle is a triangular array of the binomial coefficients that arises in probability theory, combinatorics, and algebra. In much of the Western world, it is named after the French mathematician Blaise Pascal, although other mathematicians studied it centuries before him in India, Persia, China, Germany, and Italy.
The rows of Pascal's triangle are conventionally enumerated starting with row n = 0 at the top (the 0th row). The entries in each row are numbered from the left beginning with k=0 and are usually staggered relative to the numbers in the adjacent rows. The triangle may be constructed in the following manner: In row 0 (the topmost row), there is a unique nonzero entry 1. Each entry of each subsequent row is constructed by adding the number above and to the left with the number above and to the right, treating blank entries as 0. For example, the initial number in the first (or any other) row is 1 (the sum of 0 and 1), whereas the numbers 1 and 3 in the third row are added to produce the number 4 in the fourth row.
Rows of Pascal's Triangle
0 Order: 1
1 Order: 1 1
2 Order: 1 2 1
3 Order: 1 3 3 1
4 Order: 1 4 6 4 1
5 Order: 1 5 10 10 5 1
6 Order: 1 6 15 20 15 6 1
7 Order: 1 7 21 35 35 21 7 1
8 Order: 1 8 28 56 70 56 28 8 1
9 Order: 1 9 36 34 84 126 126 84 36 9 1
10 Order: 1 10 45 120 210 252 210 120 45 10 1
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
12 Order: 1 12 66 220 495 792 924 792 495 220 66 12 1
13 Order: 1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
For a 12th order Power-of-Cosine FIR Filter
1. We take the coefficients from the Left side of the 12th row
1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1
2. We slice those in half to
1 13 78 286 715 1287 1716
3. We reverse the array
1716 1287 715 286 78 13 1
This is our array of alphas: alpha1, alpha2, ... alphaN
4. We then pull alpha one from the previous order, order 11, the middle value
11 Order: 1 11 55 165 330 462 462 330 165 55 11 1
The middle value is 462, this value becomes our alpha0 in the calculation
5. We apply these alphas to the cosine calculations
example: + alpha4 * math.cos(6 * math.pi * n / N)
6. We then divide by the sum of the alphas to derive our final coefficient weighting kernel
**This is only useful for orders that are EVEN, if you use odd ordering, the following are the coefficient outputs and these aren't useful since they cancel each other out and result in a value of zero. See below for an odd numbered oder and compare with the amplitude of the graphic posted above of the even order amplitude:
What is a Standard Deviation Filter?
If price or output or both don't move more than the (standard deviation) * multiplier then the trend stays the previous bar trend. This will appear on the chart as "stepping" of the moving average line. This works similar to Super Trend or Parabolic SAR but is a more naive technique of filtering.
What is a Clutter Filter?
For our purposes here, this is a filter that compares the slope of the trading filter output to a threshold to determine whether to shift trends. If the slope is up but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. If the slope is down but the slope doesn't exceed the threshold, then the color is gray and this indicates a chop zone. Alternatively if either up or down slope exceeds the threshold then the trend turns green for up and red for down. Fro demonstration purposes, an EMA is used as the moving average. This acts to reduce the noise in the signal.
Included
Bar coloring
Loxx's Expanded Source Types
Signals
Alerts
Variety N-Tuple Moving Averages w/ Variety Stepping [Loxx]Variety N-Tuple Moving Averages w/ Variety Stepping is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 2 different moving average types. For example, using "50" as the depth will give you Quinquagintuple Moving Average. If you'd like to find the name of the moving average type you create with the depth input with this indicator, you can find a list of tuples here: Tuples extrapolated
Due to the coding required to adapt a moving average to fit into this indicator, additional moving average types will be added as they are created to fit into this unique use case. Since this is a work in process, there will be many future updates of this indicator. For now, you can choose from either EMA or RMA.
This indicator is also considered one of the top 10 forex indicators. See details here: forex-station.com
Additionally, this indicator is a computationally faster, more streamlined version of the following indicators with the addition of 6 stepping functions and 6 different bands/channels types.
STD-Stepped, Variety N-Tuple Moving Averages
STD-Stepped, Variety N-Tuple Moving Averages is the standard deviation stepped/filtered indicator of the following indicator
Last but not least, a big shoutout to @lejmer for his help in formulating a looping solution for this streamlined version. this indicator is speedy even at 50 orders deep. You can find his scripts here: www.tradingview.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(depth) / (factorial(depth - k) * factorial(k); where depth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA , the calculation is as follows
ema1 = ta. ema ( src , length)
ema2 = ta. ema (ema1, length)
ema3 = ta. ema (ema2, length)
ema4 = ta. ema (ema3, length)
ema5 = ta. ema (ema4, length)
In this new streamlined version, these MA calculations are packed into an array inside loop so Pine doesn't have to keep all possible series information in memory. This is handled with the following code:
temp = array.get(workarr, k + 1) + alpha * (array.get(workarr, k) - array.get(workarr, k + 1))
array.set(workarr, k + 1, temp)
After we pack the array, we apply the coefficients to derive the NTMA:
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Stepping calculations
First off, you can filter by both price and/or MA output. Both price and MA output can be filtered/stepped in their own way. You'll see two selectors in the input settings. Default is ATR ATR. Here's how stepping works in simple terms: if the price/MA output doesn't move by X deviations, then revert to the price/MA output one bar back.
ATR
The average true range (ATR) is a technical analysis indicator, introduced by market technician J. Welles Wilder Jr. in his book New Concepts in Technical Trading Systems, that measures market volatility by decomposing the entire range of an asset price for that period.
Standard Deviation
Standard deviation is a statistic that measures the dispersion of a dataset relative to its mean and is calculated as the square root of the variance. The standard deviation is calculated as the square root of variance by determining each data point's deviation relative to the mean. If the data points are further from the mean, there is a higher deviation within the data set; thus, the more spread out the data, the higher the standard deviation.
Adaptive Deviation
By definition, the Standard Deviation (STD, also represented by the Greek letter sigma σ or the Latin letter s) is a measure that is used to quantify the amount of variation or dispersion of a set of data values. In technical analysis we usually use it to measure the level of current volatility .
Standard Deviation is based on Simple Moving Average calculation for mean value. This version of standard deviation uses the properties of EMA to calculate what can be called a new type of deviation, and since it is based on EMA , we can call it EMA deviation. And added to that, Perry Kaufman's efficiency ratio is used to make it adaptive (since all EMA type calculations are nearly perfect for adapting).
The difference when compared to standard is significant--not just because of EMA usage, but the efficiency ratio makes it a "bit more logical" in very volatile market conditions.
See how this compares to Standard Devaition here:
Adaptive Deviation
Median Absolute Deviation
The median absolute deviation is a measure of statistical dispersion. Moreover, the MAD is a robust statistic, being more resilient to outliers in a data set than the standard deviation. In the standard deviation, the distances from the mean are squared, so large deviations are weighted more heavily, and thus outliers can heavily influence it. In the MAD, the deviations of a small number of outliers are irrelevant.
Because the MAD is a more robust estimator of scale than the sample variance or standard deviation, it works better with distributions without a mean or variance, such as the Cauchy distribution.
For this indicator, I used a manual recreation of the quantile function in Pine Script. This is so users have a full inside view into how this is calculated.
Efficiency-Ratio Adaptive ATR
Average True Range (ATR) is widely used indicator in many occasions for technical analysis . It is calculated as the RMA of true range. This version adds a "twist": it uses Perry Kaufman's Efficiency Ratio to calculate adaptive true range
See how this compares to ATR here:
ER-Adaptive ATR
Mean Absolute Deviation
The mean absolute deviation (MAD) is a measure of variability that indicates the average distance between observations and their mean. MAD uses the original units of the data, which simplifies interpretation. Larger values signify that the data points spread out further from the average. Conversely, lower values correspond to data points bunching closer to it. The mean absolute deviation is also known as the mean deviation and average absolute deviation.
This definition of the mean absolute deviation sounds similar to the standard deviation (SD). While both measure variability, they have different calculations. In recent years, some proponents of MAD have suggested that it replace the SD as the primary measure because it is a simpler concept that better fits real life.
For Pine Coders, this is equivalent of using ta.dev()
Bands/Channels
See the information above for how bands/channels are calculated. After the one of the above deviations is calculated, the channels are calculated as output +/- deviation * multiplier
Signals
Green is uptrend, red is downtrend, yellow "L" signal is Long, fuchsia "S" signal is short.
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
Signals
6 bands/channels types
6 stepping types
Related indicators
3-Pole Super Smoother w/ EMA-Deviation-Corrected Stepping
STD-Stepped Fast Cosine Transform Moving Average
ATR-Stepped PDF MA
STD-Stepped, Variety N-Tuple Moving Averages [Loxx]STD-Stepped, Variety N-Tuple Moving Averages is the standard deviation stepped/filtered indicator of the following indicator
Variety N-Tuple Moving Averages is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 5 different moving average types including T3. A list of tuples can be found here if you'd like to name the order of the moving average by depth: Tuples extrapolated
STD-Stepped, You'll notice that this is a lot of code and could normally be packed into a single loop in order to extract the N-tuple MA, however due to Pine Script limitations and processing paradigm this is not possible ... yet.
If you choose the EMA option and select a depth of 2, this is the classic DEMA ; EMA with a depth of 3 is the classic TEMA , and so on and so forth this is to help you understand how this indicator works. This version of NTMA is restricted to a maximum depth of 30 or less. Normally this indicator would include 50 depths but I've cut this down to 30 to reduce indicator load time. In the future, I'll create an updated NTMA that allows for more depth levels.
This is considered one of the top ten indicators in forex. You can read more about it here: forex-station.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(nemadepth) / (factorial(nemadepth - k) * factorial(k); where nemadepth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA , the caculation is as follows
ema1 = ta. ema ( src , length)
ema2 = ta. ema (ema1, length)
ema3 = ta. ema (ema2, length)
ema4 = ta. ema (ema3, length)
ema5 = ta. ema (ema4, length)
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
Signals
Standard deviation stepping
Variety N-Tuple Moving Averages [Loxx]Variety N-Tuple Moving Averages is a moving average indicator that allows you to create 1- 30 tuple moving average types; i.e., Double-MA, Triple-MA, Quadruple-MA, Quintuple-MA, ... N-tuple-MA. This version contains 5 different moving average types including T3. A list of tuples can be found here if you'd like to name the order of the moving average by depth: Tuples extrapolated
You'll notice that this is a lot of code and could normally be packed into a single loop in order to extract the N-tuple MA, however due to Pine Script limitations and processing paradigm this is not possible ... yet.
If you choose the EMA option and select a depth of 2, this is the classic DEMA; EMA with a depth of 3 is the classic TEMA, and so on and so forth this is to help you understand how this indicator works. This version of NTMA is restricted to a maximum depth of 30 or less. Normally this indicator would include 50 depths but I've cut this down to 30 to reduce indicator load time. In the future, I'll create an updated NTMA that allows for more depth levels.
This is considered one of the top ten indicators in forex. You can read more about it here: forex-station.com
How this works
Step 1: Run factorial calculation on the depth value,
Step 2: Calculate weights of nested moving averages
factorial(nemadepth) / (factorial(nemadepth - k) * factorial(k); where nemadepth is the depth and k is the weight position
Examples of coefficient outputs:
6 Depth: 6 15 20 15 6
7 Depth: 7 21 35 35 21 7
8 Depth: 8 28 56 70 56 28 8
9 Depth: 9 36 34 84 126 126 84 36 9
10 Depth: 10 45 120 210 252 210 120 45 10
11 Depth: 11 55 165 330 462 462 330 165 55 11
12 Depth: 12 66 220 495 792 924 792 495 220 66 12
13 Depth: 13 78 286 715 1287 1716 1716 1287 715 286 78 13
Step 3: Apply coefficient to each moving average
For QEMA, which is 5 depth EMA, the caculation is as follows
ema1 = ta.ema(src, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
ema4 = ta.ema(ema3, length)
ema5 = ta.ema(ema4, length)
qema = 5 * ema1 - 10 * ema2 + 10 * ema3 - 5 * ema4 + ema5
Included:
Alerts
Loxx's Expanded Source Types
Bar coloring
Close v Open Moving Averages Strategy (Variable) [divonn1994]This is a simple moving average based strategy that works well with a few different coin pairings. It takes the moving average 'opening' price and plots it, then takes the moving average 'closing' price and plots it, and then decides to enter a 'long' position or exit it based on whether the two lines have crossed each other. The reasoning is that it 'enters' a position when the average closing price is increasing. This could indicate upwards momentum in prices in the future. It then exits the position when the average closing price is decreasing. This could indicate downwards momentum in prices in the future. This is only speculative, though, but sometimes it can be a very good indicator/strategy to predict future action.
What I've found is that there are a lot of coins that respond very well when the appropriate combination of: 1) type of moving average is chosen (EMA, SMA, RMA, WMA or VWMA) & 2) number of previous bars averaged (typically 10 - 250 bars) are chosen.
Depending on the coin.. each combination of MA and Number of Bars averaged can have completely different levels of success.
Example of Usage:
An example would be that the VWMA works well for BTCUSD (BitStamp), but it has different successfulness based on the time frame. For the 12 hour bar timeframe, with the 66 bar average with the VWMA I found the most success. The next best successful combo I've found is for the 1 Day bar timeframe with the 35 bar average with the VWMA.. They both have a moving average that records about a month, but each have a different successfulness. Below are a few pair combos I think are noticeable because of the net profit, but there are also have a lot of potential coins with different combos:
It's interesting to see the strategy tester change as you change the settings. The below pairs are just some of the most interesting examples I've found, but there might be other combos I haven't even tried on different coin pairs..
Some strategy settings:
BTCUSD (BitStamp) 12 Hr Timeframe : 66 bars, VWMA=> 10,387x net profit
BTCUSD (BitStamp) 1 Day Timeframe : 35 bars, VWMA=> 7,805x net profit
BNBUSD (Binance) 12 Hr Timeframe : 27 bars, VWMA => 15,484x net profit
ETHUSD (BitStamp) 16 Hr Timeframe : 60 bars, SMA => 5,498x net profit
XRPUSD (BitStamp) 16 Hr Timeframe : 33 bars, SMA => 10,178x net profit
I only chose these coin/combos because of their insane net profit factors. There are far more coins with lower net profits but more reliable trade histories.
Also, usually when I want to see which of these strategies might work for a coin pairing I will check between the different Moving Average types, for example the EMA or the SMA, then I also check between the moving average lengths (the number of bars calculated) to see which is most profitable over time.
Features:
-You can choose your preferred moving average: SMA, EMA, WMA, RMA & VWMA.
-You can also adjust the previous number of calculated bars for each moving average.
-I made the background color Green when you're currently in a long position and Red when not. I made it so you can see when you'd be actively in a trade or not. The Red and Green background colors can be toggled on/off in order to see other indicators more clearly overlayed in the chart, or if you prefer a cleaner look on your charts.
-I also have a plot of the Open moving average and Close moving average together. The Opening moving average is Purple, the Closing moving average is White. White on top is a sign of a potential upswing and purple on top is a sign of a potential downswing. I've made this also able to be toggled on/off.
Please, comment interesting pairs below that you've found for everyone :) thank you!
I will post more pairs with my favorite settings as well. I'll also be considering the quality of the trades.. for example: net profit, total trades, percent profitable, profit factor, trade window and max drawdown.
*if anyone can figure out how to change the date range, I woul really appreciate the help. It confuses me -_- *
DatasetWeatherTokyoMeanAirTemperatureLibrary "DatasetWeatherTokyoMeanAirTemperature"
Provides a data set of the monthly mean air temperature (°C) for the city of Tokyo in Japan.
this was just for fun, no financial implications in this.
reference:
www.data.jma.go.jp
TOKYO WMO Station ID:47662 Lat 35o41.5'N Lon 139o45.0'E
year_()
the years of the data set.
Returns: array : year values.
january()
the january values of the dataset
Returns: array\ : data values for january.
february()
the february values of the dataset
Returns: array\ : data values for february.
march()
the march values of the dataset
Returns: array\ : data values for march.
april()
the april values of the dataset
Returns: array\ : data values for april.
may()
the may values of the dataset
Returns: array\ : data values for may.
june()
the june values of the dataset
Returns: array\ : data values for june.
july()
the july values of the dataset
Returns: array\ : data values for july.
august()
the august values of the dataset
Returns: array\ : data values for august.
september()
the september values of the dataset
Returns: array\ : data values for september.
october()
the october values of the dataset
Returns: array\ : data values for october.
november()
the november values of the dataset
Returns: array\ : data values for november.
december()
the december values of the dataset
Returns: array\ : data values for december.
annual()
the annual values of the dataset
Returns: array\ : data values for annual.
select_month(idx)
get the temperature values for a specific month.
Parameters:
idx : int, month index (1 -> 12 | any other value returns annual average values).
Returns: array\ : data values for selected month.
select_value(year_, month_)
get the temperature value of a specified year and month.
Parameters:
year_ : int, year value.
month_ : int, month index (1 -> 12 | any other value returns annual average values).
Returns: float : value of specified year and month.
diff_to_median(month_)
the difference of the month air temperature (ºC) to the median of the sample.
Parameters:
month_ : int, month index (1 -> 12 | any other value returns annual average values).
Returns: float : difference of current month to median in (Cº)
5EMA + VP IGHola Divinis
En una villa nació, fue deseo de Dios
Crecer y sobrevivir a la humilde expresión
Enfrentar la adversidad
Con afán de ganarse a cada paso la vida
En un potrero forjó una zurda inmortal
Con experiencia, sedienta ambición de llegar
De cebollita, soñaba jugar un Mundial
Y consagrarse en Primera
Tal vez jugando pudiera a su familia ayudar
En una villa nació, fue deseo de Dios
Crecer y sobrevivir a la humilde expresión
Enfrentar la adversidad
Con afán de ganarse a cada paso la vida
En un potrero forjó una zurda inmortal
Con experiencia, sedienta ambición de llegar
De cebollita, soñaba jugar un Mundial
Y consagrarse en Primera
Tal vez jugando pudiera a su familia ayudar
A poco que debutó (Maradó, Maradó)
La 12 fue quien coreó (Maradó, Maradó)
Su sueño tenía una estrella
Llena de gol y gambetas
Y todo el pueblo cantó (Maradó, Maradó)
Nació la mano de Dios (Maradó, Maradó)
Llenó alegría en el pueblo
Regó de gloria este suelo
Carga una cruz en los hombros por ser el mejor
Por no venderse jamás, al poder enfrentó
Curiosa debilidad, si Jesús tropezó
¿Por qué él no habría de hacerlo?
La fama le presentó una blanca mujer
De misterioso sabor y prohibido placer
Que lo hizo adicto al deseo de usarla otra vez
Involucrando su vida
Y es un partido que un día el Diego está por ganar
A poco que debutó (Maradó, Maradó)
La 12 fue quien coreó (Maradó, Maradó)
Su sueño tenía una estrella
Llena de gol y gambetas
Y todo el pueblo cantó (Maradó, Maradó)
Nació la mano de Dios (Maradó, Maradó)
Llenó alegría en el pueblo
Llenó de gloria este suelo
Olé, olé, olé, olé
¡Diego, Diego!
Olé, olé, olé, olé
¡Diego, Diego!
Olé, olé, olé, olé
¡Diego, Diego!
Olé, olé, olé, olé
¡Diego, Diego!
Y todo el pueblo cantó (Maradó, Maradó)
La 12 fue quien coreó (Maradó, Maradó)
Su sueño tenía una estrella
Llena de gol y gambetas
Y todo el pueblo cantó (Maradó, Maradó)
Nació la mano de Dios (Maradó, Maradó)
Llenó alegría en el pueblo
Regó de gloria este suelo
Regó de gloria este suelo
Regó de gloria
Agregar a la playlist
Tamaño
A
A
Cifrado
Imprimir
Corregir
Time█ OVERVIEW
This library is a Pine Script™ programmer’s tool containing a variety of time related functions to calculate or measure time, or format time into string variables.
█ CONCEPTS
`formattedTime()`, `formattedDate()` and `formattedDay()`
Pine Script™, like many other programming languages, uses timestamps in UNIX format, expressed as the number of milliseconds elapsed since 00:00:00 UTC, 1 January 1970. These three functions convert a UNIX timestamp to a formatted string for human consumption.
These are examples of ways you can call the functions, and the ensuing results:
CODE RESULT
formattedTime(timenow) >>> "00:40:35"
formattedTime(timenow, "short") >>> "12:40 AM"
formattedTime(timenow, "full") >>> "12:40:35 AM UTC"
formattedTime(1000 * 60 * 60 * 3.5, "HH:mm") >>> "03:30"
formattedDate(timenow, "short") >>> "4/30/22"
formattedDate(timenow, "medium") >>> "Apr 30, 2022"
formattedDate(timenow, "full") >>> "Saturday, April 30, 2022"
formattedDay(timenow, "E") >>> "Sat"
formattedDay(timenow, "dd.MM.yy") >>> "30.04.22"
formattedDay(timenow, "yyyy.MM.dd G 'at' hh:mm:ss z") >>> "2022.04.30 AD at 12:40:35 UTC"
These functions use str.format() and some of the special formatting codes it allows for. Pine Script™ documentation does not yet contain complete specifications on these codes, but in the meantime you can find some information in the The Java™ Tutorials and in Java documentation of its MessageFormat class . Note that str.format() implements only a subset of the MessageFormat features in Java.
`secondsSince()`
The introduction of varip variables in Pine Script™ has made it possible to track the time for which a condition is true when a script is executing on a realtime bar. One obvious use case that comes to mind is to enable trades to exit only when the exit condition has been true for a period of time, whether that period is shorter that the chart's timeframe, or spans across multiple realtime bars.
For more information on this function and varip please see our Using `varip` variables publication.
`timeFrom( )`
When plotting lines , boxes , and labels one often needs to calculate an offset for past or future end points relative to the time a condition or point occurs in history. Using xloc.bar_index is often the easiest solution, but some situations require the use of xloc.bar_time . We introduce `timeFrom()` to assist in calculating time-based offsets. The function calculates a timestamp using a negative (into the past) or positive (into the future) offset from the current bar's starting or closing time, or from the current time of day. The offset can be expressed in units of chart timeframe, or in seconds, minutes, hours, days, months or years. This function was ported from our Time Offset Calculation Framework .
`formattedNoOfPeriods()` and `secondsToTfString()`
Our final two offerings aim to confront two remaining issues:
How much time is represented in a given timestamp?
How can I produce a "simple string" timeframe usable with request.security() from a timeframe expressed in seconds?
`formattedNoOfPeriods()` converts a time value in ms to a quantity of time units. This is useful for calculating a difference in time between 2 points and converting to a desired number of units of time. If no unit is supplied, the function automatically chooses a unit based on a predetermined time step.
`secondsToTfString()` converts an input time in seconds to a target timeframe string in timeframe.period string format. This is useful for implementing stepped timeframes relative to the chart time, or calculating multiples of a given chart timeframe. Results from this function are in simple form, which means they are useable as `timeframe` arguments in functions like request.security() .
█ NOTES
Although the example code is commented in detail, the size of the library justifies some further explanation as many concepts are demonstrated. Key points are as follows:
• Pivot points are used to draw lines from. `timeFrom( )` calculates the length of the lines in the specified unit of time.
By default the script uses 20 units of the charts timeframe. Example: a 1hr chart has arrows 20 hours in length.
• At the point of the arrows `formattedNoOfPeriods()` calculates the line length in the specified unit of time from the input menu.
If “Use Input Time” is disabled, a unit of time is automatically assigned.
• At each pivot point a label with a formatted date or time is placed with one of the three formatting helper functions to display the time or date the pivot occurred.
• A label on the last bar showcases `secondsSince()` . The label goes through three stages of detection for a timed alert.
If the difference between the high and the open in ticks exceeds the input value, a timer starts and will turn the label red once the input time is exceeded to simulate a time-delayed alert.
• In the bottom right of the screen `secondsToTfString()` posts the chart timeframe in a table. This can be multiplied from the input menu.
Look first. Then leap.
█ FUNCTIONS
formattedTime(timeInMs, format)
Converts a UNIX timestamp (in milliseconds) to a formatted time string.
Parameters:
timeInMs : (series float) Timestamp to be formatted.
format : (series string) Format for the time. Optional. The default value is "HH:mm:ss".
Returns: (string) A string containing the formatted time.
formattedDate(timeInMs, format)
Converts a UNIX timestamp (in milliseconds) to a formatted date string.
Parameters:
timeInMs : (series float) Timestamp to be formatted.
format : (series string) Format for the date. Optional. The default value is "yyyy-MM-dd".
Returns: (string) A string containing the formatted date.
formattedDay(timeInMs, format)
Converts a UNIX timestamp (in milliseconds) to the name of the day of the week.
Parameters:
timeInMs : (series float) Timestamp to be formatted.
format : (series string) Format for the day of the week. Optional. The default value is "EEEE" (complete day name).
Returns: (string) A string containing the day of the week.
secondsSince(cond, resetCond)
The duration in milliseconds that a condition has been true.
Parameters:
cond : (series bool) Condition to time.
resetCond : (series bool) When `true`, the duration resets.
Returns: The duration in seconds for which `cond` is continuously true.
timeFrom(from, qty, units)
Calculates a +/- time offset in variable units from the current bar's time or from the current time.
Parameters:
from : (series string) Starting time from where the offset is calculated: "bar" to start from the bar's starting time, "close" to start from the bar's closing time, "now" to start from the current time.
qty : (series int) The +/- qty of units of offset required. A "series float" can be used but it will be cast to a "series int".
units : (series string) String containing one of the seven allowed time units: "chart" (chart's timeframe), "seconds", "minutes", "hours", "days", "months", "years".
Returns: (int) The resultant time offset `from` the `qty` of time in the specified `units`.
formattedNoOfPeriods(ms, unit)
Converts a time value in ms to a quantity of time units.
Parameters:
ms : (series int) Value of time to be formatted.
unit : (series string) The target unit of time measurement. Options are "seconds", "minutes", "hours", "days", "weeks", "months". If not used one will be automatically assigned.
Returns: (string) A formatted string from the number of `ms` in the specified `unit` of time measurement
secondsToTfString(tfInSeconds, mult)
Convert an input time in seconds to target string TF in `timeframe.period` string format.
Parameters:
tfInSeconds : (simple int) a timeframe in seconds to convert to a string.
mult : (simple float) Multiple of `tfInSeconds` to be calculated. Optional. 1 (no multiplier) is default.
Returns: (string) The `tfInSeconds` in `timeframe.period` format usable with `request.security()`.
Momentum ScoreMomentum is the tendency of assets that have gone up in price to continue going up in price - and for assets that have gone down in price to continue going down in price. The reasons behind it are not well understood by academics, but momentum is a property that exists across geographies and asset classes.
The Momentum Score is a system that scores companies based on their one year total returns, excluding the last month of returns. In other words, a momentum score for today will be based on the total returns of a stock from 12 months ago today to one month ago today.
Our Momentum Score 13612W has the following composition:
MS 13612W = 12 * Roc(1) + 4 * Roc(3) + 2 * Roc(6) + 1 * Roc(12)
with ROC = (p0/pt) - 1, where pt equals price p with a t-month lag